查看原文
其他

精通Linux系列三十一:日期和时间

拾叁 更AI 2023-10-21

点击关注公众号,AI&编程干货及时送达   


日期和时间

命令函数
cal打印一个日历。
date打印或设置日期和时间。
ntpdate使用远程时间服务器设置系统时间。

需要一个日期吗?想要一个好时光吗?试试这些程序,以显示和设置您系统上的日期和时间。

cal

stdin  stdout  - 文件  -- 选项  --帮助  --版本

cal [选项] [月 [年]]

cal命令默认情况下打印日历——当前的月份:

→ cal
2015年11月      
日 一 二 三 四 五 六  
 1  2  3  4  5  6  7  
 8  9 10 11 12 13 14  
15 16 17 18 19 20 21  
22 23 24 25 26 27 28  
29 30

要打印其他日历,提供一个月份和四位数的年份:cal 8 2016。如果你省略了月份(cal 2016),则会打印整个年份。

有用的选项

-y打印当前年份的日历。
-3三个月的视图:同时打印上个月和下个月。
-j按照年内位置编号每一天;在我们的示例中,2月1日将显示为32,2月2日显示为33,依此类推。

date

stdin  stdout  - 文件  -- 选项  --帮助  --版本

date [选项] [格式]

date命令打印日期和时间。结果将取决于您系统的地域设置(针对您的国家和语言)。在此部分,我们假设一个基于美国的英语地域。

默认情况下,date在当地时区打印系统日期和时间:

→ date
2016年3月18日 星期五 22:32:04 EDT

通过提供以加号开头的格式字符串,您可以以不同方式格式化输出:

→ date '+%D'
03/18/16
→ date '+现在是 %l:%M %p 在美好的 %A 于 %B'
现在是 10:32 PM 在美好的星期五 于三月

以下是date命令的许多格式的一些示例:

格式含义示例(美国英语)
完整日期和时间:

%c完整的日期和时间,12小时制2003年9月28日,下午09:01:25 EDT
%D数字日期,2位数年09/28/03
%x数字日期,4位数年09/28/2003
%T时间,24小时制21:01:25
%X时间,12小时制09:01:25 PM
词汇:

%a星期的缩写周日
%A星期的全称星期日
%b月份的缩写9月
%B月份的全称九月
%Z时区EDT
%pAM或PMPM
数字:

%w星期几 (0–6, 0=周日)0
%u星期几 (1–7, 1=周一)7
%d月份的第几天,前导零02
%e月份的第几天,前导空格2
%j一年的第几天,前导零005
%m月份数字,前导零09
%y年份,2位数字03
%Y年份,4位数字2003
%M分钟,前导零09
%S秒,前导零05
%l12小时制的小时数,前导空格9
%I12小时制的小时数,前导零09
%k24小时制的小时数,前导空格9
%H24小时制的小时数,前导零09
%N纳秒737418000
%s从Linux时间开始的秒数:1970年1月1日午夜(date(原文))1068583983
其他:

%n换行符
%t制表符
%%百分号%

通过它的选项,date也可以显示其他日期和时间。

有用的选项

-d string显示给定的日期或时间*string*,按照您希望的格式显示。
-r filename显示给定文件的最后修改时间戳,按您希望的格式显示。
-s string设置系统日期和/或时间为*string*; 只有超级用户可以这么做。

ntpdate

stdin stdout  - file  -- opt  --帮助(help)  --版本(version)*

ntpdate 时间服务器(timeserver)

ntpdate命令通过联系网络上的时间服务器(timeserver)来设置当前系统时间(您必须是root用户才能设置系统时间):

→ sudo /usr/sbin/ntpdate timeserver.someplace.edu
7 Sep 21:01:25 ntpdate[2399]: step time server
  178.99.1.8
offset 0.51 sec

要使您的系统日期与时间服务器长时间保持同步,请使用守护程序ntpd;请参见http://www.ntp.org。如果您不知道本地时间服务器,请在Web上搜索“公共ntp时间服务器”。

推荐阅读

··································

你好,我是拾叁,7年开发老司机、互联网两年外企5年。怼得过阿三老美,也被PR comments搞崩溃过。这些年我打过工,创过业,接过私活,也混过upwork。赚过钱也亏过钱。一路过来,给我最深的感受就是不管学什么,一定要不断学习。只要你能坚持下来,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯和编程知识,帮你积累弯道超车的资本。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存